package 替换空格;

/**
 * @author zhengTao
 * @version 1.0
 * @description: 替换空格  请实现一个函数，把字符串 s 中的每个空格替换成"%20"。
 * @date 2022/10/22 16:08
 */
public class ToOffer05 {

    public String replaceSpace(String s) {
        //计算空格的个数
        int count=0;
        for (int i = 0; i < s.length(); i++) {
            if(s.charAt(i)==' '){
                count++;
            }
        }
        //定义数组长度
        //空格长度为1，%20长度为3，相比之下其实就是每个空格加了2个长度
        char[] arr=new char[s.length()+count*2];
        int slow=arr.length-1;
        for (int length = s.length()-1; length >= 0; length--) {
            if(s.charAt(length)!=' '){
                arr[slow--]=s.charAt(length);
            }else {
                arr[slow--]='0';
                arr[slow--]='2';
                arr[slow--]='%';
            }
        }
        return new String(arr);
    }
}
